Graphical User Interfaces (GUIs) have become commonplace in computer programs. In general, a GUI is the graphical control panel with which a user interacts with a computer program. A modern GUI can include buttons, labels, text boxes, slide bars, check boxes, progress bars, menus, and other interface components or “widgets”. GUIs help users efficiently perform complex operations without having to remember complex line commands for computer programs.
GUIs are typically event driven, meaning the computer program implementing the GUI “listens” for events that the GUI must process. Frequently, events captured by the GUI cause the displayed widgets to change. For example, a mouse button release event may cause a displayed button to change from an activated image to a deactivated image.
There have been many computer programs written to help simplify the task of creating GUIs. For example, numerous Integrated Development Environment (IDE) programs allow GUI developers to drag and drop various widgets onto a GUI development pallet. These IDEs often create method stubs from handling various events that the programmer many desire to act upon.